<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #btn {
            background-color: pink;
            border-radius: 15%;

        }
    </style>
</head>

<body>
    <button id="btn">点击抽奖</button>
    <script>
        function isRandom(a, b) {
            return Math.floor(Math.random() * b) + a
        }


        let btn = document.querySelector('#btn')
        btn.addEventListener('click', () => {
            //  传统实现
            //     setTimeout(() => {
            //        let n = isRandom(1, 100)
            //        n <= 30 ? alert('中了') : alert('再接再厉')
            //     }, 1000)
            // Promise实现
            const p = new Promise((resolve, reject) => {
                setTimeout(() => {
                    let n = isRandom(1, 100)
                    if (n <= 30) {
                        resolve(n) //将promise对象的状态设置为 成功 
                    } else {
                        reject(n) //将promise对象的状态设置为 失败
                    }
                }, 1000)
            })

            // 调用.then方法
            // value :值
            // reason:理由
            p.then((value) => {
                alert(`中奖了,中奖数字是:${value}`)//.then第一个参数对应成功回调
            }, (reason) => {
                alert(`未中奖,再接再厉,号码为${reason}`)//.then第二个参数对应失败回调
            })
            console.log(p);

        })

    </script>

</body>

</html>